/** include config.h **/
#include "config.h"

#include <string>
#include "Filesystem.h"
#include "AbstractFileFormat.h"
#include "AbstractDatabase.h"


/**
* Diese Klasse repräsentiert das WKT Dateiformat. Es holt dabei für jede Anfrage die Daten aus der Datenbank.
**/
class WKTFileFormat : public AbstractFileFormat{
public:

    /**
    * Konstruktor der WKTFileFormat Klasse.
    **/
    WKTFileFormat(PFSInfo info);

    /**
    * Destruktor der WKTFileFormat Klasse
    **/
    ~WKTFileFormat();

    /**
    * Diese Methode holt alle Daten aus der Datenbank und speichert diese in die "wkt" Klassenvariable. Anschließend wird der angeforderte Inhalt in den readBuffer des FSInfo object geschrieben.
    **/
    int read(PFSInfo info);

    /**
    * Diese Methode ist nicht implementiert, da es zu Datenverlust führen kann, da das WKT Format keine Attributdaten kennt.
    **/
    int write(PFSInfo info);

    /**
    * Wird beim schließen der Datei aufgerufen
    **/
    int close(PFSInfo info);
protected:
    String wkt;
    PQuery result;
    PDataRow row;
};
